package com.junxonline.plat.service.database;

import com.junxonline.common.dao.pojo.JsTree;
import com.junxonline.plat.dao.model.Database;
import com.junxonline.plat.dao.vo.DatabaseVO;
import com.junxonline.plat.dao.vo.PageVO;
import com.junxonline.plat.dao.vo.QueryDatabaseVO;

import java.util.List;

public interface DatabaseService {

    /**
     * 获取数据库备份树数据
     * @return
     */
    List<JsTree> getDatabaseTree();

    /**
     * 获取当前系统数据库树数据
     * @return
     */
    List<JsTree> getSystemDatabaseTree();

    /**
     * 筛选查询数据库备份数据
     * @param page
     * @param vo
     * @return
     */
    PageVO queryDatabase(PageVO page, QueryDatabaseVO vo);


    /**
     * 备份数据库
     * @param databaseIds
     * @param userId
     * @return
     */
    boolean databaseBackup(Long[] databaseIds, Long userId);

    /**
     * 还原数据库
     * @param vo
     * @param userId
     * @return
     */
    boolean databaseRestore(DatabaseVO vo, Long userId);

    /**
     * 还原数据库
     * @return
     */
    boolean databaseRestore();

}
